Amazon Inspector による評価結果を Windows Update 前後で比較してみた
みなさま Xin chao.
Amazon Inspector を活用していますか?
この度、稼働中の環境に対して Amazon Inspector によるセキュリティ評価を行うことになったため、一度おさらいしておこうということで、検証環境で試してみました。 その際の備忘録です。
目次
Amazon Inspector とは
Amazon EC2 にエージェントを導入し、プラットフォームの脆弱性を診断するホスト型診断サービスです。 設定間違いなどによる Amazon EC2 インスタンスへのネットワークアクセスや、EC2 インスタンス上の脆弱性の有無を確認することができます。
検証環境の説明
パブリックサブネットに Amazon EC2 インスタンスを起動し、そのインスタンスに対して Amazon Inspector によるセキュリティ評価を行いました。
評価対象
以下の AMI からインスタンスを作成しました。 この AMI は、2019年5月の Microsoft 累積パッチ (いわゆる月例パッチ) を適用済みですが、今回検証を行った時点では、より新しい Microsoft 累積パッチが提供されているため、未修正のの脆弱性が存在しているはずです。
- Windows_Server-2016-Japanese-Full-Base-2019.05.15 (ami-0af5302e44da40245)
このインスタンスに、セキュリティグループで以下のようなインバウンド通信を許可しました。 TCP 3389 は、OS にリモートデスクトップ接続するための設定であるため「意図した通信許可設定」、TCP 8080 は、許可時と不許可時での Amazon Inspector の評価結果の違いを見るためにあえて設定したもので、「誤った通信許可設定」という扱いです。
今回は、Amazon EC2 が 1台しか存在しないため必須ではありませんが、このインスタンスに以下のタグを設定し、Amazon Inspector による評価対象を限定しています。
- キー : Inspector
- 値 : true
また、このインスタンスには、Amazon Inspector エージェントをインストール済みです。 後述の ホスト評価 を行う場合、エージェントのインストールが必要です。 インストール方法は、以下をご参照ください。
Amazon Inspector エージェントのインストール
やってみた
Windows Update によるパッチ適用前 かつ 「誤った通信許可設定」状態 での評価
AWS マネジメントコンソールで [今すぐ始める] をクリックして、設定を進めていきます。 なお、[今すぐ始める] から設定を進めていくと、後述の通り、評価テンプレートの作成だけでなく、 Amazon Inspector によるセキュリティ評価の実行まで行われますのでご注意ください。
今回は、ネットワーク評価 (Network Assessments) と ホスト評価 (Host Assessments) の両方を選択してみます。 ネットワーク評価 を選択すると、"ネットワーク到達可能性" を評価することができます。 ホスト評価 を選択すると、"共通脆弱性識別子", "CIS ベンチマーク", "Amazon Inspector のセキュリティベストプラクティス", "実行時の動作の分析" を評価することができます。
この選択、および、評価対象となるインスタンスの数により、1回のセキュリティ評価あたりの Amazon Inspector の料金が変わります。
なお、後述の通り、OS によって対応していないものもあります。 [Advanced setup] をクリックし、次に進みます。
評価ターゲットについては、今回は指定したタグが設定されているインスタンスのみに限定します。 また、Amazon Inspector エージェント はインストール済みなので、チェックを外します。
評価テンプレートは、今回の検証時点で Windows Server 2016 に対応している以下のルールパッケージのみを選択します。
- 共通脆弱性識別子 (Common Vulnerabilities and Exposures)
- ネットワーク到達可能性 (Network Reachability)
- 実行時の動作の分析 (Runtime Behavior Analysis)
各 OS で対応しているルールパッケージについては、以下をご参照ください。
サポートされているオペレーティングシステムに関して、Amazon Inspector ルールパッケージ
今回は検証が目的のため、所要時間は最小の 15分 を選択しましたが、1時間が推奨値となっています。 また、今回はスケジュール実行しませんので、チェックを外します。
内容を確認します。 [作成] ボタンをクリックする前に、以下の注意事項をご確認ください。
※※※ 注意事項 ※※※ 今回の検証時点において、説明文は "AWS エージェントをまだインストールしていない場合は 作成 を、AWS エージェントをインストールしている場合は 作成および実行 を選択します。" となっていますが、以下のスクリーンショットで分かる通り、[作成] ボタンしか表示されていません。 しかし、[作成] ボタンをクリックすると、評価ターゲット および 評価テンプレート の作成だけでなく、Amazon Inspector によるセキュリティ評価の実行まで行われます。 つまり、事前に評価ターゲットおよび評価テンプレートの作成だけを行い、後日 Amazon Inspector によるセキュリティ評価を実施するということができません。 無料トライアルの範囲でない場合、この時点で課金が発生しますので、セキュリティ評価の実施タイミングは充分に気をつけましょう。 なお、AWS マネジメントコンソールは随時改良が行われており、本ブログをご覧になっている時点で、この挙動が変わっている可能性もあります。
前述の注意事項の通り、本ブログ執筆時点では [作成] ボタンをクリックすると、Amazon Inspector によるセキュリティ評価が即時実行されます。
今回は所要時間を 15 分にしたため、約 15 分後に評価は完了します。 結果は 62 件表示されています。
結果を確認すると、重要度 High のものが、ズラりと並んでいます。
共通脆弱性識別子の例
検出された 重要度・High の脆弱性の 1つを見てみます。 共通脆弱性識別子 CVE-2019-1019 という脆弱性が存在するとの評価結果です。
CVE-2019-1019 の脆弱性については、JPCERT コーディネーションセンターと独立行政法人情報処理推進機構 (IPA) が共同で運用している Japan Vulnerability Notes (JVN) に、日本語で情報が掲載されています。
JVNDB-2019-005514 複数の Microsoft Windows 製品におけるセキュリティ機能を回避される脆弱性
Microsoft セキュリティ更新プログラムガイドで検索すると、2019/6/12 以降にリリースされた Windows Server 2016 用の累積パッチで、CVE-2019-1019 の脆弱性は対応済みとなっています。
CVE-2019-1019 | Microsoft Windows Security Feature Bypass Vulnerability
ネットワーク到達可能性の例
検出されたネットワーク到達可能性の 1つを見てみます。 この例では、「意図した通信許可設定」である TCP 3389 (リモートデスクトップ接続) と 「誤った通信許可設定」である TCP 8080 (Inspector で検出されるようあえて接続を許可) が検出されています。
Windows Update によるパッチ適用後 かつ 「誤った通信許可設定」を削除した状態 での再評価
では、評価対象の Amazon EC2 インスタンスで Windows Update によるパッチ適用を行い、さらに、「誤った通信許可設定」である TCP 8080 を削除した状態で、再度 Amazon Inspector によるセキュリティ評価を行ってみます。
今回検証を行った時点では 2019/6/19 にリリースされたパッチが Windows Server 2016 向けの最新の累積パッチとなっています。 「累積」と書いてある通り、2019/6/12 にリリースされた 2019年6月度のいわゆる月例パッチも含んだ内容になっています。
2019 年 6 月 19 日 - KB4503294 (OS ビルド 14393.3053)
また、セキュリティグループは、以下のように「意図した通信許可設定」である、リモートデスクトップのインバウンド通信のみ許可された状態となっています。
Amazon Inspector によるセキュリティ評価を再度実行します。 前回と同じ評価テンプレートを選択し [実行] をクリックします。
約 15 分後に評価は完了します。 結果は 62 件 → 10 件になりました。
結果を確認します。 重要度・High のものは 0 件になりました。
共通脆弱性識別子の例
重要度・Medium のうちの 1つを確認してみます。 OS 側だけでは対処することができない Intel の CPU に関する脆弱性が報告されています。 他の 重要度・Medium もすべて Intel CPU に関する脆弱性の報告でした。
ネットワーク到達可能性の例
セキュリティグループで接続を許可していた、「誤った通信許可設定」である TCP 8080 を削除したため、「意図した通信許可設定」である TCP 3389 (リモートデスクトップ接続に使用) のみが検出されています。
まとめ
インストールしたミドルウェアや、CPU 等については別途対応が必要になりますが、基本的に Windows OS は Windows Update によるパッチ適用を行っていれば脆弱性対応が行われます。 Windows Update の「更新の履歴」以外の方法で、ある時点におけるエビデンスを残しておきたい場合などにおいて、Amazon Inspector は気軽に活用できる仕組みだと思います。 また、合わせてセキュリティグループの誤った通信許可設定に気づく機会にもなります。
今回は、1回限りのセキュリティ評価を行いましたが、スケジュールを設定することにより、セキュリティ評価を継続的に行うことも可能です。